A conventional display apparatus for displaying characters and the like using a display device capable of color display is disclosed in, for example, Japanese Laid-Open Publication No. 2001-100725.
In this conventional technique, the intensities (e.g., luminance level) of the color factors of subpixels corresponding to the basic portion of a character are assigned a predetermined value, while the intensities of the color factors of subpixels neighboring the subpixels corresponding to the basic portion are assigned values other than the predetermined value. The number of the neighboring subpixels having the intensities of the color factors other than the predetermined value and the intensity of the color factor of each subpixel are determined based on a correction pattern. Note that the basic portion of a character refers to a core portion of the character.
For example, FIGS. 13 and 14 show a conventional technique disclosed in Japanese Laid-Open Publication No. 2001-100725.
Referring to FIG. 13, the intensity of each color factor corresponding to the basic portion (skeleton portion) of character “/” (slash) is assigned a predetermined value.
In FIG. 13, hatched rectangles indicate subpixels corresponding to the basic portion (skeleton portion) of character “/”. When the intensity of the color factor of each subpixel is represented as a luminance level of 0 to 255, the intensity of the color factor of each subpixel corresponding to the basic portion (skeleton portion) of character “/” (slash) is assigned, for example, “luminance level 0” (predetermined value).
In FIG. 13, open rectangles indicate subpixels corresponding to the background of the basic portion of the character “/”. The intensity of the color factor of each subpixel corresponding to the background of the basic portion of character “/” is assigned, for example, luminance level 255.
Referring to FIG. 14, the intensities of the color factors of subpixels neighboring the subpixels corresponding to character “/” are assigned values other than the predetermined value.
In FIG. 14, the intensities of the color factors of three neighboring subpixels on each lateral side of a specific subpixel corresponding to the basic portion “/” constituting the displayed character are assigned “luminance level 73”, “luminance level 182”, and “luminance level 219” in order of distance from the basic portion, the nearest first, in accordance with a predetermined correction pattern. Note that “assign luminance levels to the intensities of the color factors of subpixels neighboring a specific subpixel corresponding to the basic portion of a displayed character in accordance with a correction pattern” is referred to as “dispose a correction pattern”.
The purposes of disposition of a correction pattern include: suppression of color noise; recognition of characters or graphics as being black for human eyes; and adjustment of the thickness of characters to a desired size.
Thus, according to the conventional technique of Japanese Laid-Open Publication No. 2001-100725, characters can be displayed with high definition by disposing the correction pattern neighboring subpixels corresponding to the basic portion of a character.
Further, according to the conventional technique of Japanese Laid-Open Publication No. 2001-100725, subpixels corresponding to the basic portion are determined based on character outline information indicating the outlines of characters or skeleton data indicating the skeleton shapes of characters.
For example, the character outline information includes a character code for identifying the type of a character, the number of strokes constituting a character (the stroke count of a character), and stroke information on each stroke. The stroke information includes a stroke code for identifying a stroke, the number of contour points constituting a stroke, and a pointer to the coordinate data of contour points constituting a stroke (an address in an auxiliary storage device at which the coordinates of the contour points constituting the stroke are stored). From this information, the coordinates of the contour points constituting a stroke can be obtained. In this case, each stroke has a shape enclosed by a contour line approximated by curved lines, straight lines, arcs, a combination thereof, or the like, and a predetermined thickness so as to display the contour shape of a character.
A contour line representing the contour shape of a character can be approximated by straight lines, curved lines, arcs, a combination thereof, or the like, using the coordinate data of contour points. The contour line is scaled in accordance with the size of an input character. This scaling converts the coordinate data of contour points to a coordinate system for a display device.
A sub-pixel is determined to correspond to a basic portion representing the skeleton of a character depending on an area where a region enclosed by a contour line overlaps a sub-pixel, for example, if the area is greater than or equal to a predetermined area.
Skeleton data includes a character code for identifying the type of a character, the number of strokes constituting a character, and stroke information on each stroke. The stroke information includes a stroke number for identifying a stroke, the number of points constituting a stroke, the line type of a stroke (curved line, straight line, or the like), the coordinates of points constituting a stroke, and the like. In this case, each stroke does not have a thickness, and each stroke is in the form of a line of a certain line type for representing the skeletal shape of a character.
If the line type of a stroke is a straight line, the stroke can be approximated by a straight line passing through a plurality of points constituting the stroke using the coordinate data. If the line type of a stroke is a curved line, the stroke can be approximated by a curved line passing through a plurality of points constituting the stroke using the coordinate data. The coordinate data of points constituting each stroke is scaled in accordance with the size of an input character and is converted into a coordinate system for a display device.
Subpixels present on each scaled stroke are determined as subpixels corresponding to a basic portion representing the skeleton of a character.
The applicant of the present application proposed a technique for corresponding to a basic portion of graphics to subpixels using bitmap data as disclosed in Japanese Laid-Open Publication No. 2002-49366. This technique will be described in detail below.
Typically, bitmap data is binary data (binary is an example). Each of bits constituting bitmap data has a value of “1” or “0”. A bit having a value of “1” indicates, for example, a black portion of graphics, while a bit having a value of “0” indicates a white portion of graphics.
It is determined whether or not each of bits constituting bitmap data has a value of “1”. An arrangement pattern of “1”/“0” values of bits neighboring a bit of interest is investigated. The bit of interest is associated with a pixel of a display device. Based on the arrangement pattern of neighboring bits, a subpixel(s) corresponding to the basic portion is determined among the subpixels contained in a pixel corresponding to the bit of interest.
FIG. 15 is a diagram showing a part of bitmap data representing graphics.
D(x, y) represents a bit of interest, and N(a, b) represents a bit D(x+a, y+b) neighboring D(x, y). FIG. 15 shows one bit D(x, y) and 8 vertically, horizontally or diagonally neighboring bits N(−1, 1), N(0, −1), N(1, −1), N(−1, 0), N(1, 0), N(−1, 1), N(0, 1) and N(1, 1). These eight neighboring bits are referred to as 8 neighbors. N(a, b) and D(x, y) each have a value of “1” or “0”.
FIG. 16 is a diagram showing a part of a display screen of a display device.
P(x, y) represents a pixel on the display screen. Bit D(x, y) shown in FIG. 15 is associated with pixel P(x, y) when graphics represented by bitmap data is displayed by the display device. Pixel P(x, y) contains three subpixels C(3x, y), C(3x+1, y) and C(3x+2, y).
When D(x, y) has a value of “1”, a subpixel(s) corresponding to the basic portion is determined among three subpixels C(3x, y), C(3x+1, y) and C(3x+2, y) in accordance with a basic portion definition rule. When D(x, y) has a value of “0”, none of the three subpixels is determined as a subpixel corresponding to the basic portion.
Note bit D(x, y) of FIG. 15 is herein associated with a plurality of subpixels of FIG. 16, i.e., pixel P(x, y) containing a group of C(3x, y), C(3x+1, y) and C(3x+2, y). Alternatively, bit D(x, y) may be associated with a subpixel group Grp shown in FIG. 16. Note that the number of subpixels in the group may not be necessarily equal to the number of subpixels in a pixel. For example, bit D(x, y) may be associated with a group Grp′ of 4 subpixels of FIG. 16. Furthermore, the direction of subpixels being arranged is not limited to the X direction. For example, bit D(x, y) may be associated with a group Grp″ of subpixels arranged in the X and Y directions of FIG. 16.
According to the basic portion definition rule, whether or not each of three subpixels in pixel P(x, y) is associated with a basic portion is determined based on the “0”/“1” arrangement of bit N(a, b) neighboring bit D (x, y) associated with pixel P(x, y). Hereinafter, it is assumed that bit D(x, y) has a value of “1”.
FIG. 17A is a diagram showing exemplary 8 neighboring bits for bit D(x, y) of interest in bitmap data.
By N(a, b)=1 it is intended that bit N(a, b) has a value of “1”, and by N(a, b)=0 it is intended that N(a, b) has a value of “0”. In this case, in FIG. 17A, N(0, −1)=N(1, 1)=1, N(1, 0)=N(0, 1)=N(−1, 1)=N(−1, 0)=0, and N(−1, −1) and N(1, −1) indicated by “#” has a value of either “0” or “1”.
FIG. 17B is a diagram showing a subpixel associated with a basic portion in accordance with the basic portion definition rule, where the 8 neighboring bits for bit D(x, y) has values as shown in FIG. 17A.
Pixel P(x, y) on a display screen corresponding to bit D(x, y) contains three subpixels C(3x, y), C(3x+1, y) and C(3x+2, y). Among these subpixels, a subpixel indicated by “1” is associated with a basic portion, while subpixels indicated by “0” is not associated with a basic portion. In other words, subpixel C(3x+2, y) is associated with a basic portion, while C(3x, y) and C(3x+1, y) are not associated with a basic portion.
The basic portion definition rule described with reference to FIGS. 17A and 17B can be represented by a logical formula.
For logical values A and B, it is assumed that “A*B” means logical multiplication of A and B and “!A” is logical negation of A. When the 8 neighboring bits for bit D(x, y) have values shown in FIG. 17A, the following logical formula (1) is satisfied.N(0, −1)*!N(−1, 0)*!N(1, 0)*!N(−1, 1)*!N(0, 1)*N(1, 1)=1  (1)
As shown in FIG. 17B, the following formula (2) represents the process that subpixel C(3x+2, y) is defined as a basic portion, while subpixel C(3x, y) and subpixel C(3x+1, y) are not defined as a basic portion.C(3x, y)=0,C(3x+1, y)=0, andC(3x+2, y)=1  (2)
A basic portion is a portion of a character or graphics corresponding to a core thereof. The core is a central portion of a stroke contained in a character, for example. Stroke information is dropped from bitmap data. Therefore, a bit in the bitmap data is associated with a basic portion with inference. A basic portion can be inferred based on information on bits neighboring bit D(x, y) of interest, but not based on only information on bit D(x, y) of interest.
For example, in the bitmap data of FIG. 17A, a stroke is inferred to be a curved line (dashed line 1301 in FIG. 17A) which passes through areas corresponding to bits N(0, −1), D(x, y), and N(1, 1). Such a curved line is considered to pass through the right-hand side of an area corresponding to bit D(x, y). Therefore, in FIG. 17B, sub-pixel C(3x+2, y) on the right-hand side of pixel P(x, y) corresponding to bit D(x, y) is associated with a basic portion. Based on such inference, a basic portion definition rule is generated.
Basic portions are defined in subpixels. Therefore, the basic portion of graphics can be defined with a resolution higher than the pixel-by-pixel resolution, resulting in high definition graphics display.
FIG. 18A is a diagram showing another exemplary set of 8 neighbors for bit D(x, y) of interest in bitmap data. FIG. 18B is a diagram showing subpixels defined in accordance with the basic portion definition rule when the 8 neighboring bit for bit D(x, y) has values shown in FIG. 18A.
The basic portion definition rule shown in FIGS. 18A and 18B is represented by the following logical formula.When N(−1, 0)*N(1, 0)=1,C(3x, y)=1,C(3x+1, y)=1, andC(3x+2, y)=1.
FIG. 19A is a diagram showing another exemplary set for 8 neighbors of bit D(x, y) of interest in bitmap data. FIG. 19B is a diagram showing subpixels defined in accordance with the basic portion definition rule when the 8 neighboring bit for bit D(x, y) has values shown in FIG. 19A.
The basic portion definition rule shown in FIGS. 19A and 19B is represented by the following logical formula.When N(0, −1)*!N(−1, 0)*!N(1, 0)*N(0, 1)=1,C(3x, y)=0,C(3x+1, y)=1, andC(3x+2, y)=0.
Similarly, basic portion definition rules are established for all combinations of “1” or “0” of the 8 neighboring bits for bit D(x, y) of interest. As a result, basic portions of graphics to be displayed by a display device are defined in subpixels.
FIG. 20 is a diagram showing all combinations of “1” or “0” of the 8 neighboring bits.
Each rectangle shown in FIG. 20 represents a set of bit D(x, y) of interest and its 8 neighboring bits. The rectangle is divided into nine regions. A region indicated by black corresponds to a bit having a value of “1”, while a region indicated by white corresponds to a bit having a value of “0”. 256 rectangles are shown in FIG. 20. Each of the 8 neighboring bits has a value of “0” or “1”, so that the number of combinations is 28 (=256).
However, the number of basic portion definition rules required is not necessarily equal to the number of possible combinations. As described above, in FIGS. 17A, 18A and 19A, bits indicated by “#” have any value of “0” or “1” so that these bits are not taken into account in basic portion definition rules. Since there are some bits which are not taken into account in basic portion definition rules, a certain single basic portion definition rule can cover a plurality of combinations of FIG. 20. For example, the basic portion definition rule of FIGS. 17A and 17B covers combinations indicated by a rectangle 1701, a rectangle 1702, a rectangle 1703 and a rectangle 1704 of FIG. 20. Thus, since all or part of basic portion definition rules may contain a bit(s) having an arbitrary value, the number of basic portion definition rules required can be reduced.
Note that basic portion definition rules may be represented by logical formulas or table data.
A character or graphics is contained within a frame having a predetermined size. Subpixels corresponding to the basic portion of a character or graphics are contained in the inside of a region corresponding to the frame in the display screen region of a display device. A frame is a region in which a single character or graphics is displayed, for example, a region enclosed by a thick line 1901.
Characters represented by pixel-unit bitmap data are generally designed so that open space is provided either on the right-hand or left-hand side of a frame, i.e., characters are spaced. For example, in FIG. 21, character “H” is disposed in a frame, leaving 1 bit space on the left-hand side.
FIG. 22 is a diagram showing an example in which subpixels corresponding to the basic portion are determined from character “H” of FIG. 21 using the conventional technique disclosed in Japanese Laid-Open Publication No. 2002-49366 (supra). In accordance with the above-described basic portion definition rule, a stroke 1801 extending in the X direction of FIG. 22 is shown as a continuous skeleton shape.
In FIG. 23, the conventional technique disclosed in Japanese Laid-Open Publication No. 2001-100725 (supra) is used to assign a predetermined value to the intensities of the color factors of subpixels corresponding to the basic portion of character “H” of FIG. 22, and the intensities of the color factors of subpixels neighboring subpixels corresponding to the basic portion of character “H” to values other than the predetermined value.
In FIG. 23, the luminance level of the subpixels corresponding to the basic portion of character “H” is assigned “0”; the luminance levels of three laterally neighboring subpixels are assigned “73”, “182” and “219” in order of distance; and the luminance level of subpixels corresponding to the background is assigned 255.
In the example of FIG. 23, three subpixels are required for disposition of a correction pattern. However, in a region 1021 corresponding to a frame containing character “H”, only a subpixel is present on the right-hand side of subpixels 1051 corresponding to the basic portion of character “H”. Therefore, for a part (portion 1041) of the right-hand vertical line of character “H”, the correction pattern cannot be disposed in a manner that enables the correction pattern to be put within the region 1021 of the frame for character “H”.
A character is displayed on a display device in a manner that enables the character to be put within a region of a display screen corresponding to the frame of the character. Therefore, when the correction pattern cannot be put within the region 1021 as shown in FIG. 23, color noise occurs around the portion 1041, or the line of the character is not perceived as having a desired thickness. In this case, the right-hand vertical line of character “H” is perceived as being thinner than the left-hand vertical line of character “H”. For this reason, character “H” is not displayed on a display device with high definition.
Thus, the correction pattern for characters cannot be disposed in a manner that enables the correction pattern to be put within a region corresponding to the frame of the character. Therefore, characters are not displayed with high definition. To solve the above-described problems, the present applicant proposed a method for disposing a part of a correction pattern of a frame for a first character in a frame for a second character in Japanese Laid-Open Publication No. 2003-5738.
FIG. 24 is a diagram showing an example in with a conventional technique of Japanese Laid-Open Publication No. 2003-5738, in order to dispose the correction pattern for a first character (character “H”), a part (portion 1061) of a frame for a second character (character “A”) is used.
The width of the first character (character “H”) is 15a and the width of the second character (character “A”) is 15b. 
However, in the conventional technique disclosed in Japanese Laid-Open Publication No. 2003-5738 (supra), a correction pattern is disposed by taking into account contact or overlap between a correction pattern for character “H” and character “A”. Such a process is complicated and therefore it takes a long time to perform such a process.
The present invention is provided to solve the above-described conventional problems. An object of the present invention is to provide a display apparatus, information display method, information display program and readable recording medium capable of displaying information with high definition is provided, in which when a correction pattern cannot be disposed in a manner that enable information to be put within a frame region, the correction pattern is shifted in a simple manner so that color noise is reduced. Another object of the present invention is to provide an information apparatus incorporating the above-described display apparatus, information display method, information display program, or readable recording medium.